{
  "cells": [
    {
      "cell_type": "code",
      "source": [
        "!pip install mem0ai"
      ],
      "metadata": {
        "id": "fu3euPKZsbaC"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "U2VC_0FElQid"
      },
      "outputs": [],
      "source": [
        "import os\n",
        "from openai import OpenAI\n",
        "from mem0 import MemoryClient\n",
        "from multion.client import MultiOn\n",
        "\n",
        "# Configuration\n",
        "OPENAI_API_KEY = 'sk-xxx'  # Replace with your actual OpenAI API key\n",
        "MULTION_API_KEY = 'xx'  # Replace with your actual MultiOn API key\n",
        "MEM0_API_KEY = 'xx'  # Replace with your actual Mem0 API key\n",
        "USER_ID = \"test_travel_agent\"\n",
        "\n",
        "# Set up OpenAI API key\n",
        "os.environ['OPENAI_API_KEY'] = OPENAI_API_KEY\n",
        "\n",
        "# Initialize Mem0 and MultiOn\n",
        "memory = MemoryClient(api_key=MEM0_API_KEY)\n",
        "multion = MultiOn(api_key=MULTION_API_KEY)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "sq-OdPHKlQie",
        "outputId": "1d605222-0bf5-4ac9-99b9-6059b502c20b"
      },
      "outputs": [
        {
          "data": {
            "text/plain": [
              "{'message': 'Memory added successfully!'}"
            ]
          },
          "execution_count": 2,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "# Add conversation to Mem0\n",
        "conversation = [\n",
        "    {\n",
        "        \"role\": \"user\",\n",
        "        \"content\": \"What are the best travel destinations in the world?\"\n",
        "    },\n",
        "    {\n",
        "        \"role\": \"assistant\",\n",
        "        \"content\": \"Could you please specify your interests or the type of travel information you are looking for? This will help me find the most relevant information for you.\"\n",
        "    },\n",
        "    {\n",
        "        \"role\": \"user\",\n",
        "        \"content\": \"Sure, I want to travel to San Francisco.\"\n",
        "    },\n",
        "    {\n",
        "        \"role\": \"assistant\",\n",
        "        \"content\": \"\"\"\n",
        "        Based on the information gathered from TripAdvisor, here are some popular attractions, activities, and travel tips for San Francisco:\n",
        "\n",
        "        1. **Golden Gate Bridge**: A must-see iconic landmark.\n",
        "        2. **Alcatraz Island**: Famous former prison offering tours.\n",
        "        3. **Fisherman's Wharf**: Popular tourist area with shops, restaurants, and sea lions.\n",
        "        4. **Chinatown**: The largest Chinatown outside of Asia.\n",
        "        5. **Golden Gate Park**: Large urban park with gardens, museums, and recreational activities.\n",
        "        6. **Cable Cars**: Historic streetcars offering a unique way to see the city.\n",
        "        7. **Exploratorium**: Interactive science museum.\n",
        "        8. **San Francisco Museum of Modern Art (SFMOMA)**: Modern and contemporary art museum.\n",
        "        9. **Lombard Street**: Known for its steep, one-block section with eight hairpin turns.\n",
        "        10. **Union Square**: Major shopping and cultural hub.\n",
        "\n",
        "        Travel Tips:\n",
        "        - **Weather**: San Francisco has a mild climate, but it can be foggy and windy. Dress in layers.\n",
        "        - **Transportation**: Use public transportation like BART, Muni, and cable cars to get around.\n",
        "        - **Safety**: Be aware of your surroundings, especially in crowded tourist areas.\n",
        "        - **Dining**: Try local specialties like sourdough bread, seafood, and Mission-style burritos.\n",
        "        \"\"\"\n",
        "    },\n",
        "    {\n",
        "        \"role\": \"user\",\n",
        "        \"content\": \"Show me hotels around Golden Gate Bridge.\"\n",
        "    },\n",
        "    {\n",
        "        \"role\": \"assistant\",\n",
        "        \"content\": \"\"\"\n",
        "        The search results for hotels around Golden Gate Bridge in San Francisco include:\n",
        "\n",
        "        1. Hilton Hotels In San Francisco - Hotel Near Fishermans Wharf (hilton.com)\n",
        "        2. The 10 Closest Hotels to Golden Gate Bridge (tripadvisor.com)\n",
        "        3. Hotels near Golden Gate Bridge (expedia.com)\n",
        "        4. Hotels near Golden Gate Bridge (hotels.com)\n",
        "        5. Holiday Inn Express & Suites San Francisco Fishermans Wharf, an IHG Hotel $146 (1.8K) 3-star hotel Golden Gate Bridge • 3.5 mi DEAL 19% less than usual\n",
        "        6. Holiday Inn San Francisco-Golden Gateway, an IHG Hotel $151 (3.5K) 3-star hotel Golden Gate Bridge • 3.7 mi Casual hotel with dining, a bar & a pool\n",
        "        7. Hotel Zephyr San Francisco $159 (3.8K) 4-star hotel Golden Gate Bridge • 3.7 mi Nautical-themed lodging with bay views\n",
        "        8. Lodge at the Presidio\n",
        "        9. The Inn Above Tide\n",
        "        10. Cavallo Point\n",
        "        11. Casa Madrona Hotel and Spa\n",
        "        12. Cow Hollow Inn and Suites\n",
        "        13. Samesun San Francisco\n",
        "        14. Inn on Broadway\n",
        "        15. Coventry Motor Inn\n",
        "        16. HI San Francisco Fisherman's Wharf Hostel\n",
        "        17. Loews Regency San Francisco Hotel\n",
        "        18. Fairmont Heritage Place Ghirardelli Square\n",
        "        19. Hotel Drisco Pacific Heights\n",
        "        20. Travelodge by Wyndham Presidio San Francisco\n",
        "        \"\"\"\n",
        "    }\n",
        "]\n",
        "\n",
        "memory.add(conversation, user_id=USER_ID)\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "hO8z9aNTlQif"
      },
      "outputs": [],
      "source": [
        "def get_travel_info(question, use_memory=True):\n",
        "    \"\"\"\n",
        "    Get travel information based on user's question and optionally their preferences from memory.\n",
        "\n",
        "    \"\"\"\n",
        "    if use_memory:\n",
        "        previous_memories = memory.search(question, user_id=USER_ID)\n",
        "        relevant_memories_text = \"\"\n",
        "        if previous_memories:\n",
        "            print(\"Using previous memories to enhance the search...\")\n",
        "            relevant_memories_text = '\\n'.join(mem[\"memory\"] for mem in previous_memories)\n",
        "\n",
        "        command = \"Find travel information based on my interests:\"\n",
        "        prompt = f\"{command}\\n Question: {question} \\n My preferences: {relevant_memories_text}\"\n",
        "    else:\n",
        "        command = \"Find travel information based on my interests:\"\n",
        "        prompt = f\"{command}\\n Question: {question}\"\n",
        "\n",
        "\n",
        "    print(\"Searching for travel information...\")\n",
        "    browse_result = multion.browse(cmd=prompt)\n",
        "    return browse_result.message"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "Wp2xpzMrlQig"
      },
      "source": [
        "## Example 1"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "bPRPwqsplQig"
      },
      "outputs": [],
      "source": [
        "question = \"Show me flight details for it.\"\n",
        "answer_without_memory = get_travel_info(question, use_memory=False)\n",
        "answer_with_memory = get_travel_info(question, use_memory=True)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "a76ifa2HlQig"
      },
      "source": [
        "| Without Memory                                                                                                                                                                                                                                     | With Memory                                                                                                                                                                                                                                                                                      |\n",
        "|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n",
        "| I have performed a Google search for \"flight details\" and reviewed the search results. Here are some relevant links and information:                                                                                                     | Memorizing the following information: Flight details for San Francisco:                                                                                                                                                                                                                                                                          |\n",
        "| 1. **FlightStats Global Flight Tracker** - Track the real-time flight status of your flight. See if your flight has been delayed or cancelled and track the live status. <br> [Flight Tracker - FlightStats](https://www.flightstats.com/flight-tracker/search)          | 1. Prices from $232. Depart Thursday, August 22. Return Thursday, August 29. <br> 2. Prices from $216. Depart Friday, August 23. Return Friday, August 30. <br> 3. Prices from $236. Depart Saturday, August 24. Return Saturday, August 31. <br> 4. Prices from $215. Depart Sunday, August 25. Return Sunday, September 1. |\n",
        "| 2. **FlightAware - Flight Tracker** - Track live flights worldwide, see flight cancellations, and browse by airport. <br> [FlightAware - Flight Tracker](https://www.flightaware.com)                                                | 5. Prices from $218. Depart Monday, August 26. Return Monday, September 2. <br> 6. Prices from $211. Depart Tuesday, August 27. Return Tuesday, September 3. <br> 7. Prices from $198. Depart Wednesday, August 28. Return Wednesday, September 4. <br> 8. Prices from $218. Depart Thursday, August 29. Return Thursday, September 5.          |\n",
        "| 3. **Google Flights** - Show flights based on your search. <br> [Google Flights](https://www.google.com/flights)                                                                                                                            | 9. Prices from $194. Depart Friday, August 30. Return Friday, September 6. <br> 10. Prices from $218. Depart Saturday, August 31. Return Saturday, September 7. <br> 11. Prices from $212. Depart Sunday, September 1. Return Sunday, September 8. <br> 12. Prices from $247. Depart Monday, September 2. Return Monday, September 9.         |\n",
        "|                                                                                                                                                                                                                                            | 13. Prices from $212. Depart Tuesday, September 3. Return Tuesday, September 10. <br> 14. Prices from $203. Depart Wednesday, September 4. Return Wednesday, September 11. <br> 15. Prices from $242. Depart Thursday, September 5. Return Thursday, September 12. <br> 16. Prices from $191. Depart Friday, September 6. Return Friday, September 13.     |\n",
        "|                                                                                                                                                                                                                                            | 17. Prices from $215. Depart Saturday, September 7. Return Saturday, September 14. <br> 18. Prices from $229. Depart Sunday, September 8. Return Sunday, September 15. <br> 19. Prices from $183. Depart Monday, September 9. Return Monday, September 16. <br> 65. Prices from $194. Depart Friday, October 25. Return Friday, November 1.                |\n",
        "|                                                                                                                                                                                                                                            | 66. Prices from $205. Depart Saturday, October 26. Return Saturday, November 2. <br> 67. Prices from $241. Depart Sunday, October 27. Return Sunday, November 3.                                                                                                                                                    |\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "0cXpiAwMlQig"
      },
      "source": [
        "## Example 2"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "LpprKfpslQih"
      },
      "outputs": [],
      "source": [
        "question = \"What places to visit there?\"\n",
        "answer_without_memory = get_travel_info(question, use_memory=False)\n",
        "answer_with_memory = get_travel_info(question, use_memory=True)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "kpfjeY1_lQih"
      },
      "source": [
        "| Without Memory                                                                                                                                                                                                                                      | With Memory                                                                                                                                                                                                                                                                                            |\n",
        "|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n",
        "| Based on the information gathered, here are some top travel destinations to consider visiting:                                                                                                                                              | Based on the information gathered, here are some top places to visit in San Francisco:                                                                                                                                                                                                                 |\n",
        "| 1. **Paris**: Known for its iconic attractions like the Eiffel Tower and the Louvre, Paris offers quaint cafes, trendy shopping districts, and beautiful Haussmann architecture. It's a city where you can always discover something new with each visit.        | 1. **Golden Gate Bridge** - An iconic symbol of San Francisco, perfect for walking, biking, or simply enjoying the view. <br> 2. **Alcatraz Island** - The historic former prison offers tours and insights into its storied past. <br> 3. **Fisherman's Wharf** - A bustling waterfront area known for its seafood, shopping, and attractions like Pier 39. <br> 4. **Golden Gate Park** - A large urban park with gardens, museums, and recreational activities. <br> 5. **Chinatown San Francisco** - One of the oldest and most famous Chinatowns in North America, offering unique shops and delicious food. <br> 6. **Coit Tower** - Offers panoramic views of the city and murals depicting San Francisco's history. <br> 7. **Lands End** - A beautiful coastal trail with stunning views of the Pacific Ocean and the Golden Gate Bridge. <br> 8. **Palace of Fine Arts** - A picturesque structure and park, perfect for a leisurely stroll or photo opportunities. <br> 9. **Crissy Field & The Presidio Tunnel Tops** - Great for outdoor activities and scenic views of the bay. |\n",
        "| 2. **Bora Bora**: This small island in French Polynesia is famous for its stunning turquoise waters, luxurious overwater bungalows, and vibrant coral reefs. It's a popular destination for honeymooners and those seeking a tropical paradise.      |                                                                                                                                                                                                                                                                                                        |\n",
        "| 3. **Glacier National Park**: Located in Montana, USA, this park is known for its breathtaking landscapes, including rugged mountains, pristine lakes, and diverse wildlife. It's a haven for outdoor enthusiasts and hikers.                  |                                                                                                                                                                                                                                                                                                        |\n",
        "| 4. **Rome**: The capital of Italy, Rome is rich in history and culture, featuring landmarks such as the Colosseum, the Vatican, and the Pantheon. It's a city where ancient history meets modern life.                                          |                                                                                                                                                                                                                                                                                                        |\n",
        "| 5. **Swiss Alps**: Renowned for their stunning natural beauty, the Swiss Alps offer opportunities for skiing, hiking, and enjoying picturesque mountain villages.                                                                             |                                                                                                                                                                                                                                                                                                        |\n",
        "| 6. **Maui**: One of Hawaii's most popular islands, Maui is known for its beautiful beaches, lush rainforests, and the scenic Hana Highway. It's a great destination for both relaxation and adventure.                                        |                                                                                                                                                                                                                                                                                                        |\n",
        "| 7. **London, England**: A vibrant city with a mix of historical landmarks like the Tower of London and modern attractions such as the London Eye. London offers diverse cultural experiences, world-class museums, and a bustling nightlife.    |                                                                                                                                                                                                                                                                                                        |\n",
        "| 8. **Maldives**: This tropical paradise in the Indian Ocean is famous for its crystal-clear waters, luxurious resorts, and abundant marine life. It's an ideal destination for snorkeling, diving, and relaxation.                            |                                                                                                                                                                                                                                                                                                        |\n",
        "| 9. **Turks & Caicos**: Known for its pristine beaches and turquoise waters, this Caribbean destination is perfect for water sports, beach lounging, and exploring coral reefs.                                                                 |                                                                                                                                                                                                                                                                                                        |\n",
        "| 10. **Tokyo**: Japan's bustling capital offers a unique blend of traditional and modern attractions, from ancient temples to futuristic skyscrapers. Tokyo is also known for its vibrant food scene and shopping districts.                   |                                                                                                                                                                                                                                                                                                        |\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "XdpkcMrclQih"
      },
      "source": [
        "## Example 3"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "Nntl2FxulQih"
      },
      "outputs": [],
      "source": [
        "question = \"What the weather there?\"\n",
        "answer_without_memory = get_travel_info(question, use_memory=False)\n",
        "answer_with_memory = get_travel_info(question, use_memory=True)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "yt2pj1irlQih"
      },
      "source": [
        "| Without Memory                                                                                                                                                                                                                                      | With Memory                                                                                                                                                                                                                                                                                            |\n",
        "|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n",
        "| The current weather in Paris is light rain with a temperature of 67°F. The precipitation is at 50%, humidity is 95%, and the wind speed is 5 mph.                                                                                   | The current weather in San Francisco is as follows: <br> - **Temperature**: 59°F <br> - **Condition**: Clear with periodic clouds <br> - **Precipitation**: 3% <br> - **Humidity**: 87% <br> - **Wind**: 12 mph                                                                        |\n"
      ]
    }
  ],
  "metadata": {
    "kernelspec": {
      "display_name": ".venv",
      "language": "python",
      "name": "python3"
    },
    "language_info": {
      "codemirror_mode": {
        "name": "ipython",
        "version": 3
      },
      "file_extension": ".py",
      "mimetype": "text/x-python",
      "name": "python",
      "nbconvert_exporter": "python",
      "pygments_lexer": "ipython3",
      "version": "3.12.3"
    },
    "colab": {
      "provenance": []
    }
  },
  "nbformat": 4,
  "nbformat_minor": 0
}